The present invention relates to an expansion unit that is installed in a computer and communicates with other expansion units over an auxiliary bus, more particularly to methods and circuitry for reliably transferring data between expansion units on the auxiliary bus.
Expansion units, often referred to as expansion boards or expansion cards, are installed in personal computers and other types of computers to provide functions not originally designed into the computer. For example, expansion units that provide functions related to telephony are available, permitting the practice of computer-telephony integration. A computer-telephony system may employ several expansion units, e.g. one for call processing, another for facsimile transmission, and another for speech processing.
These expansion units are normally connected by a system bus to the computer's central processing unit, and are controlled by application software running on the central processing unit. To enable different expansion units to exchange data without monopolizing the system bus, the expansion units may also be linked by an auxiliary bus, which is not used by the central processing unit. Auxiliary bus standards have become established, enabling expansion units manufactured by different vendors to communicate over the same auxiliary bus. One well-known auxiliary bus standard is the multi-vendor integration protocol, or MVIP.
The MVIP bus standard provides multiplexed bi-directional channels, each carrying data at a rate of sixty-four kilobits per second in each direction. What the MVIP standard fails to provide is a method of confirming that transmitted data have been correctly received. There have accordingly been problems with the reliability of data transferred on the MVIP bus, and other similar auxiliary buses.